What your source code becomes before a single line of it runs.
Before V8 executes anything, it has to understand your code as structure, not text. The parser reads your source and builds an Abstract Syntax Tree (AST) — a tree of nodes representing statements, expressions, and declarations. V8 actually parses twice: a fast 'pre-parse' pass that just scans for syntax errors and function boundaries without building a full tree, and a full parse that only happens for code that's actually about to run, which is why unused functions cost almost nothing until they're called.
From the AST, Ignition (V8's interpreter) generates bytecode — a compact, lower-level instruction set that isn't tied to any specific machine architecture. Bytecode is what actually gets executed first, function by function, and it's also what Ignition instruments with feedback (how a variable's type behaved, which branch got taken) that TurboFan later uses to decide what's safe to optimize. Bytecode is the bridge between 'code as text' and 'code as an optimizable, running program.'
What you'll walk away knowing